package com.xbongbong.pro.detailtab.dto;

import com.alibaba.fastjson.JSONArray;
import com.xbongbong.paas.domain.entity.ext.ConditionsEntityExt;
import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotNull;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author feng.zheng
 * @version v1.0
 * @date 2019/2/25 13:57
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class DetailTabDataGetDTO extends BaseDTO {
    private static final long serialVersionUID = 684372512933870588L;
    /**
     * 数据id
     */
    @NotNull(message = "{dto.msg.detailTabDataGet.dataId.NotNull}")
    private Long dataId;
    /**
     * saas标记
     */
    @NotNull(message = "{dto.msg.detailTabDataGet.saasMark.NotNull}")
    @DecimalMin(value = "1", message = "{dto.msg.detailTabDataGet.saasMark.DecimalMin}")
    @DecimalMax(value = "2", message = "{dto.msg.detailTabDataGet.saasMark.DecimalMax}")
    private Integer saasMark;
    /**
     * 业务类型
     */
    @NotNull(message = "{dto.msg.detailTabDataGet.businessType.NotNull}")
    private Integer businessType;
    /**
     * 表单id
     */
    private Long formId;
    /**
     * 子业务类型
     */
    private Integer subBusinessType;
    /**
     * 源业务类型
     */
    private Integer sourceBusinessType;
    /**
     * 从哪个页面来的
     */
    private Integer fromBusinessType;
    /**
     * 页数
     */
    private Integer page;
    /**
     * 页面大小
     */
    private Integer pageSize;
    /**
     * 时间
     */
    private JSONArray addTime;
    /**
     * 状态
     */
    private Integer status;
    /**
     * 类型，详情页获取入库记录时需要传入，1：成品入库；2：退料入库
     */
    private Integer type;
    /**
     * 装配出入库单 1：出库产品 0或者不传：入库产品
     */
    private Integer fromOutstock;
    /**
     * 排序
     */
    private Map<String, String> sortMap = new HashMap<>();

    private String attr;

    /**
     * 搜索条件
     */
    private List<ConditionsEntityExt> conditions;

    /**
     * 基础数据权限条件
     */
    private List<ConditionsEntityExt> permissionConditions;

    /**
     * 市场详情tab穿透
     * code值： 1 全部线索 2有效线索 3 转换线索
     */
    private Integer throughCode;



    private Integer total;
}
